package com.SparkCore.ACC

import org.apache.spark.{SparkConf, SparkContext}


/**
 * 累加器
 */
object Spark01_ACC {
  def main(args: Array[String]): Unit = {
    val sparkConf = new SparkConf().setMaster("local").setAppName("wordcount")
    val sc = new SparkContext(sparkConf)

    val rdd = sc.makeRDD(List(1, 2, 3, 4, 5, 6))
//    //reduce 分区内计算  分区间计算
//    val i = rdd.reduce(_ + _)

//    println(i)

    var sum =0

    /**
     * foreach 是分布式循环 做不到分区内分区间的概念  sum可能会被多次修改
     */
    rdd.foreach(
      num => {
        sum += num
      }
    )
    println("sum = " + sum)
    sc.stop()
  }
}
